The CIP Data Source connects directly to PLCs supporting the Common Industrial Protocol (e.g. Allen Bradley Control Logix, OMRON NJ Series) to read and write Tags
A Data Source can be defined in Sym3 using the Project Explorer > Data Sources>[Right Click] >[New Source]>[CIP]
Note: Browsing is not supported for CIP Data Sources.
Select the newly created Data Source and in the Property Editor.
Fill in the address of the PLC in the Hostname field. Add an optional port number to use: <ipaddress><:ipport>. The default is 44818. E.g. 10.200.115.27:22222.
Add the Path to the CPU e.g. 1.1.
OR
Click on the Property Editor option in the Ribbon bar to open the Property Editor Panel.
Create Tags in the Tag Manager Window using the + button.
Enter a Name for the Tag in Sym3 and the Data Source for the Tag.
Entering a Data Type for tags is optional except BOOL arrays and STRING tags
The Tag Address is the Symbolic Tag Name on the PLC.
• The Symbolic Tag Name is not case sensitive
• Invalid characters (space)!@%^&*()-+=~`;<>?|{}"'
• The Symbolic Tag Name must begin with alphabetical character or underscore
• The character after ':' must be alphanumeric
• The character after '.' must be alphanumeric
• The character after '[' must be numeric
• The character after '_' must be alphanumeric
• The character after ']' (if any) must be alphanumeric
• The Symbolic Tag Name must end with alphanumeric or ']'
In the tag manager:
- Click on ‘Browse’ button
- Select your datasource
- If the PLC in active and Sym3 can connect to it, all tags are available
- Double-click on tag you want to add to your project or multiple select then and click the ‘Add To Tag Database’
SYNTAX | |
Controller Scope | |
Atomic Tag Address = <atomic tagname> | Atomic Tag Address = <atomic tagname> |
Predefine Type Structure Address = <name> | Predefine Type Structure Address = <name> |
User Defined String Type Address = <name>#<size> | User Defined String Type Address = <name>#<size> |
Predefined Type Member Address = <name>.<member name> | Predefined Type Member Address = <name>.<member name> |
User Defined Type Member (UDT) Address = <name>.<atomic tagname> | User Defined Type Member (UDT) Address = <name>.<atomic tagname> |
Controller Scope | |
Atomic Types | Address = PROGRAM:<program name>.<atomic tagname> |
Predefined Structure | Address = PROGRAM:<program name>.<name> |
Predefine Types Member | Address = PROGRAM:<program name>.<name>.<member name> |
User Defined String Type | Address = PROGRAM:<program name>.<name>#<size> |
User Defined Types Member | Address = PROGRAM:<program name>.<name>.<atomic tagname> |
Pre-Defined Types | Syntax | Example |
ALARM AXIS_CONSUMED AXIS_GENERIC AXIS_GENERIC_DRIVE AXIS_SERVO AXIS_SERVO_DRIVE AXIS_VIRTUAL CAM CAM_PROFILE CONNECTION_STATUS CONTROL COORDINATE_SYSTEM COUNTER DEADTIME DERIVATIVE DISCRETE_2STATE DISCRETE_3STATE DIVERSE_INPUT DOMINANT_RESET DOMINANT_SET EMERGENCY_STOP ENABLE_PENDANT EXT_ROUTINE_CONTROL EXT_ROUTINE_PARAMETERS FBD_BIT_FIELD_DISTRIBUTE FBD_BOOLEAN_AND FBD_BOOLEAN_NOT FBD_BOOLEAN_OR FBD_BOOLEAN_XOR FBD_COMPARE FBD_CONVERT FBD_COUNTER FBD_LIMIT FBD_LOGICAL FBD_MASKED_MOVE FBD_MASK_EQUAL FBD_MASKED_MOVE FBD_MATH FBD_MATH_ADVANCED FBD_ONESHOT FBD_TIMER FBD_TRUNCATE FILTER_HIGH_PASS FILTER_LOW_PASS FILTER_NOTCH FIVE_POS_MODE_SELECTOR FLIP_FLOP_D FLIP_FLOP_JK FUNCTION_GENERATOR HL_LIMIT INTEGRATOR LEAD_LAG LEAD_LAG_SEC_ORDER LIGHT_CURTAIN MAXIMUM_CAPTURE MESSAGE MINIMUM_CAPTURE MOTION_GROUP MOTION_INSTRUCTION MOVING_AVERAGE MOVING_STD_DEV MULTIPLEXER OUTPUT_CAM OUTPUT_COMPENSATION PHASE PHASE_INSTRUCTION PID PID_ENHANCED PIDE_AUTOTUNE POSITION_PROP PROP_INT PULSE_MULTIPLIER RAMP_SOAK RATE_LIMITER REDUNDANT_INPUT REDUNDANT_OUTPUT S_CURVE SCALE SEC_ORDER_CONTROLLER SELECT SELECT_ENHANCED SELECTABLE_NEGATE SELECTED_SUMMER SERIAL_PORT_CONTROL SFC_ACTION SFC_STEP SFC_STOP SPLIT_RANGE TIMER TOTALIZER TWO_HAND_RUN_STATION UP_DOWN_ACCUM | Type Name.<member name> | Address = MyTimer.PRE Address = MyCounter.ACC |